home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1999 March
/
EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso
/
earcd
/
devel
/
vbcc-68k-src
/
machines
/
amiga
/
doc
/
ixemul.doc
< prev
next >
Wrap
Text File
|
1999-01-01
|
3KB
|
90 lines
ixemul.lib - C library for the Amiga68k version of vbcc
INTRODUCTION
ixemul.library is a shared Amiga library which is covered by the GNU
license and includes standard ANSI and POSIX functions as well as some
functions common in Unix, BSD and similar operating systems. Have a look
at the ixemul-archives if you want to find out more.
The link libraries ixemul.lib and ixemuls.lib provided with vbcc only
contain stub functions which call the functions in the shared library
plus some auxiliary functions for vbcc.
What are the main differences between vc.lib and ixemul.lib?
- vc.lib contains (almost) only standard ANSI functions. If you want
to port Unix programs you will probably miss a lot of functions.
Also ixemul supports things like mapping Unix directory paths to
Amiga paths or expanding wildcards in command lines automatically.
- Programs compiled for ixemul will be shorter because the code for all
functions is not contained in the executable itself.
- Programs compiled for ixemul will need the ixemul.library present when
started.
- Programs compiled for ixemul will probably need more memory because
the entire (rather large) ixemul.library will be loaded into memory.
With vc.lib only the functions your program uses will be in ram.
However if you have several programs using ixemul.library at the same
time only one copy of ixemul.library should be loaded.
Things you should note:
- With ixemul you do not need extra math-libraries. Floating point values
are always returned in d0/d1 therefore -no-fp-return must be specified.
The config-file will usually take care of this.
- You must link with vlib:crt0.o as startup code (bcrt0.o for small data).
The config-file will usually take care of this.
- You _must_ use the ixemul-includes (they are currently not part of this
archive) rather than the ones which are for vc.lib.
The config-file will usually take care of this.
- I recommend you get the ixemul-distribution from aminet (in dev/gcc),
and have a look at it (although a lot is gcc-specific).
LEGAL
The crt0.o, bcrt0.o, ixemul.lib and ixemuls.o in this archive are public
domain.
Have a look at the ixemul-archives to find out about ixemul.library.
USAGE
First you must have the ixemul.library and the ixemul-includes (they
should e.g. be on aminet in dev/gcc/ixemul-sdk.lha) and assign ixinclude:
to the directory where they can be found.
To compile a program to use ixemul you must make sure the proper
config-file is used. This distribution should contain vbcc:vc.ixemul and
vbcc:vc.ixemuls. The first is for large data and the second for small
data.
You can either copy one of them to the current directory and rename it
as vc.config or explicitly specify it when invoking vc, e.g.:
vc +vbcc:vc.ixemul hello.c
or
vc +vbcc:vc.ixemuls hello.c
to compile a large/small data hello.c. Note that you need not specify
-sd when using the vc.ixemuls config-file.
You can, however, specify e.g. -sc if you want small code, too.
If your program needs a certain version of the ixemul.library you can
define a variable __ixemulVer with external linkage which specifies
the minimum required version, e.g.
int __ixemulVer = 45;
Volker